﻿package MainClassPackage;

import XML.*;
import Source.*;
import gui.*;
import java.awt.EventQueue;

public class mainClass 
{
    public static DataXmlList journal;
    private static Task threadingTask;
    public final static Object x=new Object();
   
    public static void main(String arg[])
    {
        journal=new DataXmlList();
        threadingTask=journal.getEarliestTask();
        if(threadingTask==null)
        {
            //создание нового потока главное окно
            new Runnable(){
                public void run()
                {
                    try 
                    {
                        GUI frame = new GUI(journal,x);
                        frame.setVisible(true);
                    } catch (Exception e) 
                    {
                        e.printStackTrace();
                    }
                }
            }.run();
        }else{
            //создание нового потока главное окно
            new Runnable(){
                public void run()
                {
                    try 
                    {
                        GUI frame = new GUI(journal,x);
                        frame.setVisible(true);
                    } catch (Exception e) 
                    {
                        e.printStackTrace();
                    }
                }
            }.run();
            //запуск ближайшей задачи
            journal.getEarliestTask().start();
        }
        try{
        while(true){
            synchronized(x){
                x.wait();
                Task h=journal.getEarliestTask();
                if(h!=null){
                    //запуск ближайшей задачи
                    h.start();
                }
            }
        }
        } catch (InterruptedException ex) {
        }
    }
}
